Many computer users find the display area of their computer system to be insufficient for their needs. More particularly, computer users frequently find that they desire more display area than a computer's display device physically affords. In these circumstances, a computer user typically turns to one of several options. First, the computer user may add one or more additional display devices, i.e., display monitors (or just monitors), thereby creating a multi-monitor computer system with the added display area of each added monitor. Second, a computer user may simply purchase a larger monitor, i.e., one with more display area and/or higher resolution. Third, rather than purchase monitors, a computer user may employ a system feature frequently referred to as a virtual desktop.
The displayed contents on a physical display area are almost universally first “rendered” in computer memory, and more particularly, memory typically devoted to a graphics display subsystem. After the contents are rendered into computer memory, the graphics display subsystem transfers the rendered information to the physical display device, i.e., the monitor.
Virtual desktops build upon the foundation that content is rendered to memory and subsequently transferred by the graphics display subsystem to a monitor. The general concept behind virtual desktops is that of creating multiple display areas in the graphics display memory. The graphics display subsystem is also configured to transfer, at any one time, one of the virtual desktops to the monitor. FIG. 1 is a pictorial diagram illustrating an exemplary computer system 100 with a display area 102 on the attached monitor 112, and including a plurality of virtual desktops 106-110 rendered in memory 104. As illustrated in FIG. 1, the computer's graphics display subsystem (not shown), configured to display one of a plurality of virtual desktops, is currently displaying virtual desktop 106 on the computer monitor's display area 102.
Computer systems, such as computer system 100, whose graphics display subsystem offers virtual desktop capabilities, also provide some mechanism to permit a computer user to change which virtual desktop is displayed on the display area 102. Typically, a user can cycle through defined virtual desktops until a desired virtual desktop is displayed in the display area 102. For example, pressing a predetermined combination of keys on a keyboard will cause the system to display the next virtual desktop according to an internal z-ordering of the defined virtual desktops.
Those familiar with the concept of virtual desktops will appreciate that locating content on a specific virtual desktop, especially on one that is not currently displayed on the monitor 112, can be quite challenging. Typically, when a plurality of virtual desktops are created on a computer system 100, the first virtual desktop, such as virtual desktop 106, includes all of the display content that was present on the display system prior to creating the virtual desktops, and the additional virtual desktops, such as virtual desktops 108 and 110, are usually empty. In order for a computer user to place content onto a virtual desktop, the computer user must perform some rather cumbersome procedures. FIGS. 2A-2C are pictorial diagrams of two virtual desktop areas, useful to illustrate a typical procedure by which a computer user moves content from a first virtual desktop 202 to a second virtual desktop 204.
In order to illustrate the exemplary, typical procedure with regard to FIGS. 2A-2C, assume that content 206 is currently located on virtual desktop 202, and that virtual desktop 202 is currently displayed on the computer's monitor 112. Virtual desktop 204 is not displayed on the computer's monitor, as indicated by the dashed lines.
As shown in FIG. 2A, in order to move content 206 from the virtual desktop 202 to the virtual desktop 204, the computer user typically selects and moves the content 206 (usually by a drag operation via a mouse or other input device) towards a border of the virtual desktop 202 with prior knowledge that another virtual desktop, i.e., virtual desktop 204, is in that direction.
With reference now to FIG. 2B, not only must the computer user move the content 206 to the border of the virtual desktop 202, the user must move the content beyond the border, such that a portion of the content cannot be rendered on the virtual desktop 202. In fact, while the computer user cannot see it, the computer user knows that in moving some portion of the content 206 past the border of the currently displayed virtual desktop 202, the portion of the content that is no longer displayable on the currently displayed virtual desktop 202 is rendered onto non-displayed virtual desktop 204, as indicated by arrow 208.
Once a portion of the content 206 is rendered onto a non-displayed virtual desktop 204, the computer user can then switch, or cycle, to the second virtual desktop 204. With the second virtual desktop 204 displayed on the computer's monitor, as indicated in FIG. 2C, the computer user now has at least a portion of the content 206 on the desired virtual desktop 204, and is free to reposition that content 206 fully onto the virtual desktop 204 if desired.
Of course, while the above-described manner for moving content from a first virtual desktop 202 to a second virtual desktop 202 is cumbersome, when there are more than two virtual desktops this process becomes more difficult. Clearly, there needs to be an improved mechanism for moving content among virtual desktops.
Many computer systems include a keyboard as an input device. FIG. 3 is a pictorial diagram illustrating an exemplary keyboard. As illustrated in FIG. 3, in addition to the standard “QWERTY” arrangement of alpha-numeric keys, most modem keyboards include a so-called 10-key keypad 302. Additionally, most keyboards also include modifier keys 304 and function keys 306. The modifier keys 304 are typically keys that must be used in combination with another key, and generally are considered to modify the meaning of that other key. The “Shift”, “Control”, and “Alternate” keys are some examples of modifier keys, which when pressed in combination with another key, modify the meaning of the other key. Alternatively, function keys 306 typically cause an action to occur, or have some special meaning themselves. As such, function keys 306 are not typically used to modify other keys, though one or more modifier keys 304 may be used to modify the function of a function key.
One aspect of keyboards as input devices to a computer system is that a great deal of efficiency can be realized by keyboard users. Much of the efficiency is gained as keyboard input becomes autonomic, i.e., where input entry, or typing, becomes a matter of so-called “muscle memory.”
In light of the cumbersome manner in which computer users currently use virtual desktops, and in further light of the efficiencies that can be gained through muscle memory actions with regard to keyboards, what is needed is an efficient manner in which a user can manage content across a plurality of virtual desktops on a computer system. The present invention addresses this and other issues found in the prior art.